The CAM is a memory device that can search for stored data that match the reference data and read out information related to the matching data, such as an address indicating where the matching data is stored. With advancement of semiconductor technologies, there is a demand for CAMs with higher speed and less power dissipation.
A bit, indicating whether or not a word (which is a storing unit consisting of a plurality of bits specified by an address) is valid for, is often attached to each word of the CAM. This bit is called a "valid bit" and normally stored in a memory cell called a "valid cell," provided in the CAM.
Normally, the valid bit attached to a word is controlled so that it may be set to a "true" value when valid data is written to the word. In other words, the "true" value (e.g., a bit "1") of the valid bit is stored in the valid cell. In addition, resetting to a "false" value is performed either by resetting the valid bits of all the words at once or by resetting the valid bit one by one for each word. In other words, the valid bit in the valid cell is set to a "false" value (e.g., a bit "0").
FIG. 1 is a diagram showing a conventional word configuration of a CAM having a valid cell. In the CAM of FIG. 1, when a searching operation is performed, both the signal from a word match line 1 indicating the match or mismatch of a word and the output of the valid bit held in the valid cell 2 are input to a NAND gate 3 and the logical AND operation between them is performed.
FIG. 2 is a diagram showing another conventional word configuration of a CAM having a valid cell. The CAM of FIG. 2 has the configuration where a valid cell 2 is connected to a word match line in parallel with other CAM cells within a word and connect to inverter pair 4. In this case, the "true" value of the valid bit is equated to a match in other bits within the word, while the "false" value of the valid bit is equated to a mismatch in other bits within the word.
The conventional methods of FIGS. 1 and 2 can attain the functional object of the operation of searching for a word matching input data from among valid words. These methods, however, have the disadvantage that power is wastefully dissipated, because the searching operation is done also for invalid words and the match lines are charged and discharged there. There are match lines by the number of addresses. The parasitic capacitance of the match line is large when the width of the word is big, for instance, when it is as big as 64 bits. Therefore, if there are a greater number of invalid words, power dissipation will become greater and wasteful heat will be generated.
Thus, there is a need ways to attain a reduction in the average power dissipation for the CAM searching operation without having impact on CAM performance. There is also a need for a circuit and a method which control pre-charging of a word match line of a CAM by employing a valid bit.